package com.zr.gdms.dao;

import java.util.List;

import com.zr.gdms.model.Application;
import com.zr.gdms.model.Teacher;
/**
 * 教师逻辑层
 * @author 李培宁
 *
 */
public interface TeacherDao {
	/**
	 * 获取老师的总数
	 * @return  老师的总数
	 */
	public int findTeachersCount();

	/**
	 * 获取教师信息
	 * @param uid 用户id
	 * @param page 页数
	 * @param rows  每页的行数
	 * @return  教师的所有信息
	 */
	public List<Teacher> findAllTeachers(int page,int rows);
	
	public boolean insertUserByTeacher(String uname,String upsw);
	/**
	 * 增加教师信息
	 * @param tname 教师名字
	 * @param tage 教师年利率
	 * @param tdepart  教师学院
	 * @param tprofe 教师职位
	 * @param tsex 教师性别
	 * @param ttel 教师电话
	 * @return  成功与否
	 */
	public boolean insertTeacher(String tname,String tage,String tdepart,String tprofe,String tsex,String ttel,int uid);
	
	/**
	 * 修改教师信息
	 * @param tname 教师姓名
	 * @param tage 教师年龄
	 * @param tdepart 教师学院
	 * @param tprofe 教师职位
	 * @param tsex 教师性别
	 * @param ttel  教师电话
	 * @param tid  教师工号
	 * @return  成功与否
	 */
	public boolean updateTeacher(String tname,String tage,String tdepart,String tprofe,String tsex,String ttel,int tid);
	
	/**
	 * 删除教师信息
	 * @param appstate 申请表状态
	 * @param apptype 申请表内容
	 * @return 成功与否
	 */
	public boolean deleteTeacher(String appstate, String apptype);
	
	/**
	 * 查询教师总数根据教师工号
	 * @param tid 教师工号
	 * @return 教师总数
	 */
	public int findTeachersCountByTid(int tid);
	/**
	 * 查询教师信息根据教师工号
	 * @param page 页数
	 * @param rows 行数
	 * @param tid 教师工号
	 * @return 教师信息
	 */
	public List<Teacher> searchTeacherByTid(int page,int rows,int tid);
	/**
	 * 根据教师姓名模糊查询教师总数
	 * @param tnames 教师姓名
	 * @return 教师总数
	 */
	public int findTeachersCountByTname(String tnames);
	
	/**
	 * 查询教师信息根据教师姓名
	 * @param page 页数
	 * @param rows 行数
	 * @param tname 教师姓名
	 * @return 教师信息
	 */
	public List<Teacher> searchTeacherByTname(int page,int rows,String tname);
	
	/**
	 * 根据教师性别查询教师总数
	 * @param tsex 教师性别
	 * @return  教师总数
	 */
	public int findTeachersCountByTsex(String tsex);
	
	/**
	 * 查询教师信息根据教师性别
	 * @param page 页数
	 * @param rows 行数
	 * @param tsex 性别
	 * @return 教师信息
	 */
	public List<Teacher> searchTeacherByTsex(int page,int rows,String tsex);
	
	/**
	 * 根据教师学院查询教师总数
	 * @param tdepart 教师学院
	 * @return 教师总数
	 */
	public int findTeachersCountByTdepart(String tdepart);
	
	/**
	 * 查询教师信息根据教师学院
	 * @param page 页数
	 * @param rows 行数
	 * @param tdepart 学院
	 * @return 教师信息
	 */
	public List<Teacher> searchTeacherByTdepart(int page,int rows,String tdepart);
	
	/**
	 * 根据教师职称查询教师总数
	 * @param tprofe 教师职称
	 * @return 教师总数
	 */
	public int findTeachersCountByTprofe(String tprofe);
	
	/**
	 * 查询教师信息根据教师职称
	 * @param page 页数
	 * @param rows 行数
	 * @param tprofe 职称
	 * @return 教师信息
	 */
	public List<Teacher> searchTeacherByTprofe(int page,int rows,String tprofe);
}
